Students’ Strategies for Exception Handling
نویسندگان
چکیده
This study discusses and presents various strategies employed by novice programmers concerning exception handling. The main contributions of this paper are as follows: we provide an analysis tool to measure the level of assimilation of exception handling mechanism; we present and analyse strategies to handle exceptions; we present and analyse solutions provided by novice programmers; we classify and analyse the participants' reflections concerning their solutions. Modern programming languages, such as Java, provide the programmer an elaborated object oriented exception mechanism; enable him to handle exceptions in a more convenient way. The aim of this study was to discover the strategies novice programmers are using to handle exceptions and whether they utilise the advantage of the modern exception handling mechanism. For that matter the participants (college students) had to provide a written solution to a given problem with a special focus on exception handling. In addition each of them was interviewed. The analysis of the solutions provided was carried out according to a set of software quality criteria (clarity, modularity and extensibility) adapted to exception handling characteristics. These criteria were used to explain the advantages and disadvantages of the solutions from a software engineering perspective. The solutions provided were also analysed according to a classification of levels of assimilation concerning the structure of exceptions, based on the SOLO taxonomy. The first level of assimilation refers to solutions in which no exception mechanism was used, and the errors were handled in the old fashion way (local handling or return of an error code). The fifth and last level refers to solutions that used adequate hierarchy of exception classes allowing easy extension according to future requirements and enabling the handling of multiple exception altogether or handle each separately. In between these levels there are strategies that used exception mechanisms without the exhausting of its advantages. The results obtained reveal that only few participants (7 out of 56) provided a solution that was classified to one of the two highest assimilation levels, while many (23 out of 56) did not use exception mechanism at all. The rest of the students (25 out of 56) used the exception mechanism poorly (i.e., used only Exception class or did not use hierarchy of exceptions). The participants had difficulties in utilising the advanced exception handling mechanisms and in exhibiting a high level of abstraction with regard to the proper design of a hierarchy of exceptions. The students’ statements collected during the interviews were classified into the following categories: misconceptions concerning code quality; misconceptions concerning exception handling; difficulties in understanding the exception handling mechanism; the perceived importance of exception handling; and a lack of programming experience. During the interviews the students provided explanations concerning the reasons they were not fully utilized the exception mechanism. Among them are: lack of practice, too few demonstrated examples, focussing merely on providing a working soMaterial published as part of this publication, either on-line or in print, is copyrighted by the Informing Science Institute. Permission to make digital or paper copy of part or all of these works for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage AND that copies 1) bear this notice in full and 2) give the full citation on the first page. It is permissible to abstract these works so long as credit is given. To copy in all other cases or to republish or to post on a server or to redistribute to lists requires specific permission and payment of a fee. Contact [email protected] to request redistribution permission.
منابع مشابه
Students' Understanding of Advanced Properties of Java Exceptions
This study examines how Information Systems Engineering School students on the verge of their graduation understand the mechanism of exception handling. The main contributions of this paper are as follows: we construct a questionnaire aimed at examining students' level of understanding concerning exceptions; we classify and analyse the students' responses to the questionnaire in order to determ...
متن کاملReconfiguration Methods for Exception Handling in Reconfigurable Manufacturing Systems
Reconfigurable manufacturing systems (RMS) offer capabilities for quick adjustment of production capacity and functionality in response to sudden changes in market conditions. Both at the system and at the cell level exception events occur dynamically and unpredictably during the production process. These exceptions interrupt the production process by causing errors in the schedule plan. Error/...
متن کاملTeaching Advanced Programming Concepts in Introductory Computing Courses: A Constructivism Based Approach
Teaching object-oriented programming in introductory computer courses is still an area not well understood by instructors and teachers. A new approach, quite different from the one used to teach the procedural paradigm, is required. We have developed and used for several years a teaching approach that is greatly influenced by constructivism, which stresses the importance of prior knowledge on...
متن کاملException Handling for C++
This paper outlines a design for an exception handling mechanism for C++. It presents the reasoning behind the major design decisions and considers their implications for implementation alternatives. The mechanism is flexible, comparatively safe and easy to use, works in a mixed language execution environment, and can be implemented to run efficiently. Two implementation strategies are describe...
متن کاملA novel general framework for automatic and cost-effective handling of recoverable temporal violations in scientific workflow systems
Due to the complex nature of scientific workflow environments, temporal violations often take place and may severely reduce the timeliness of the execution’s results. To handle temporal violations in an automatic and cost-effective fashion, two interdependent fundamental issues viz. the definition of finegrained recoverable temporal violations and the design of lightweight effective exception h...
متن کامل